草庐IT

【javaEE面试题(四)线程不安全的原因】【1. 修改共享数据 2. 操作不是原子性 3. 内存可见性 4. 代码顺序性】

4.多线程带来的的风险-线程安全(重点)4.1观察线程不安全staticclassCounter{publicintcount=0;voidincrease(){count++;}}publicstaticvoidmain(String[]args)throwsInterruptedException{finalCountercounter=newCounter();Threadt1=newThread(()->{for(inti=0;i50000;i++){counter.increase();}});Threadt2=newThread(()->{for(inti=0;i50000;i++

JavaEE进阶 - Spring Boot 日志文件 - 细节狂魔

文章目录1.⽇志有什么⽤?2.⽇志怎么⽤?3.自定义日志打印准备工作:创建一个SpringBoot项目,并在其中创建一个UserController类,用来演示。在程序中得到⽇志对象常⻅的⽇志框架说明(了解)使⽤⽇志对象打印⽇志日志格式说明日志级别⽇志级别是干什么用的呢?⽇志级别的分类与使⽤⽇志的级别分为:⽇志级别的顺序:⽇志使⽤日志级别的设置全局日志级别设置局部日志级别设置⽇志持久化设置日志的保存路径设置日志文件的存储文件名更简单的⽇志输出—lombok1、添加lombok框架⽀持。2、使⽤@slf4j注解输出⽇志。lombok原理解释补充:Java程序的运⾏原理图:Lombok的作⽤图:l

JavaEE进阶 - Spring Boot 日志文件 - 细节狂魔

文章目录1.⽇志有什么⽤?2.⽇志怎么⽤?3.自定义日志打印准备工作:创建一个SpringBoot项目,并在其中创建一个UserController类,用来演示。在程序中得到⽇志对象常⻅的⽇志框架说明(了解)使⽤⽇志对象打印⽇志日志格式说明日志级别⽇志级别是干什么用的呢?⽇志级别的分类与使⽤⽇志的级别分为:⽇志级别的顺序:⽇志使⽤日志级别的设置全局日志级别设置局部日志级别设置⽇志持久化设置日志的保存路径设置日志文件的存储文件名更简单的⽇志输出—lombok1、添加lombok框架⽀持。2、使⽤@slf4j注解输出⽇志。lombok原理解释补充:Java程序的运⾏原理图:Lombok的作⽤图:l

JavaSE、JavaEE和JavaME与Java的关系是什么?

  JavaSE、JavaEE和JavaME都是建立在Java语言基础之上的不同分支,它们共同构成了Java平台的不同方面和应用领域。  1.JavaSE(JavaPlatform,StandardEdition)是Java平台的基础,它提供了Java语言的核心库和基本功能,用于开发各种类型的应用程序。JavaSE包含了Java的基本类库、语言特性以及Java虚拟机(JVM)等组件,使开发人员能够编写跨平台的Java应用程序。JavaSE适用于开发桌面应用程序、命令行工具、小型服务器等。  2.JavaEE(JavaPlatform,EnterpriseEdition)是建立在JavaSE之上

区分java的三大版本:JavaSE、JavaME、JavaEE

目录一、JavaSE二、JavaME三、JavaEE四、总结一、JavaSEJavaSE是一套基于Java语言的标准开发平台,它为开发者提供了一系列编程工具和应用程序接口(API),从而帮助开发者更加高效地创建出跨平台、可靠的应用程序。JavaSE主要包含以下模块:1.基础类库:JavaSE提供了丰富的基础类库,包括各种数据类型、集合框架、I/O、网络通信、安全和XML解析等功能,这些类库可以让开发者无需自己编写底层代码,直接使用现成的API来完成开发任务。2.JVM(Java虚拟机):JavaSE中的JVM负责将Java字节码转换为机器代码,并执行

Spring Boot 3.0为什么废弃了JavaEE,改用了Jakarta EE?

导言最近看SpringBoot3.0的代码,发现Servlet相关的包的命名空间从javax改变为了jakarta。这可是一个非常大的破坏性更新,看了下Spring3.0的更新日志,有一条更新日志是:从JavaEE迁移到JakartaEE。为什么要做这种破坏性的迁移呢?JavaEE怎么了?JakartaEE又是什么?什么是JakartaEE简单来说,JakartaEE就是JavaEE的新名词。这里的EE全称是EnterpriseEdition,它是专门为企业级Java应用定义的一套规范,与JavaSE(JavaPlatform,StandardEdition)相对应。JavaEE是从Java1

【JavaEE】Thread 类及常用方法

一、Thread类Thread类我们可以理解为是java用于管理线程的一个类,里面封装了操作系统提供的线程管理这一方面的API(Thread是优化后的结果),Java代码创建的每一个线程,可以理解为为Thread实例化的对象,Thread对象用于描述线程的信息。Java标准库中Thread类可以视为是对操作系统对线程管理方面提供的API进行了进一步的抽象和封装.API:ApplicationPrograminglinerface给你一个软件,你能对他干什么,基于它提供的这些功能,就可以写一些代码,然后封装在一起,方便别人使用。编辑计算机通常只有一个CPU(多核心),单核心在任意时刻只能执行一条

【JavaEE】Thread 类及常用方法

一、Thread类Thread类我们可以理解为是java用于管理线程的一个类,里面封装了操作系统提供的线程管理这一方面的API(Thread是优化后的结果),Java代码创建的每一个线程,可以理解为为Thread实例化的对象,Thread对象用于描述线程的信息。Java标准库中Thread类可以视为是对操作系统对线程管理方面提供的API进行了进一步的抽象和封装.API:ApplicationPrograminglinerface给你一个软件,你能对他干什么,基于它提供的这些功能,就可以写一些代码,然后封装在一起,方便别人使用。编辑计算机通常只有一个CPU(多核心),单核心在任意时刻只能执行一条

【JavaEE初阶】——第七节.Servlet入门学习笔记

作者简介:大家好,我是未央;博客首页:未央.303系列专栏:JavaEE进阶每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!文章目录前言一、前置知识:Maven1.1 🍎初识Maven1.2🍎Maven的使用 二、Servlet第一个Servlet程序:helloworld方法步骤:2.1创建maven项目 2.2引入依赖 2.3创建目录结构2.4编写servlet代码2.5打包操作 2.6 部署操作2.7 验证程序 2.8一点相关补充smart tomato的使用三、ServletAPI详解3.1 HttpServlet3.2 HtttpServletRequest3.3 H

【JavaEE】Spring中注解的方式去获取Bean对象

【JavaEE】Spring的开发要点总结(3)文章目录【JavaEE】Spring的开发要点总结(3)1.属性注入1.1@Autowired注解1.2依赖查找VS依赖注入1.3配合@Qualifier筛选Bean对象1.4属性注入的优缺点2.Setter注入2.1@Autowired注解2.2命名规则2.3Setter注入的优缺点3.构造方法注入3.1@Autowired注解3.2命名规则3.3构造方法注入的优缺点4.另一个注入可以用的注解@Resource4.1来源不同4.2匹配机制不同4.3参数不同4.4@Resource多一个匹配Bean对象名称的方案4.5使用上的区别5.综合练习【J